home *** CD-ROM | disk | FTP | other *** search
/ PC Answers 2003 September / PC Answers September 2003.iso / Software / freeware / pixeltoolbox / Setup.exe / Main / PixelToolbox.exe / PixelToolbox.dxr / Scripts_13_undo-redo script.ls < prev    next >
Encoding:
Text File  |  2002-06-08  |  2.5 KB  |  92 lines

  1. property pOnMember, pOffMember, pState, pMySprite, pMyMember, pMyMember2, pMyMember3
  2. global gProject, gSize, gCast, myCurrentImage, myCurrentPreview
  3.  
  4. on beginSprite me
  5.   pMySprite = sprite(me.spriteNum)
  6.   pMyMember = pMySprite.memberNum
  7.   pMyMember2 = pMyMember - 1
  8.   pMyMember3 = pMyMember + 1
  9.   setMember(me)
  10. end
  11.  
  12. on mouseEnter me
  13.   if (sprite(4).left <> 800) or (sprite(1).pUndoTrigger = 0) then
  14.     pass()
  15.   else
  16.     set the memberNum of sprite pMySprite to pMyMember3
  17.     put "Click to undo or redo the last action. (Ctrl+Z)" into field "status"
  18.   end if
  19. end
  20.  
  21. on mouseLeave me
  22.   if (sprite(4).left <> 800) or (sprite(1).pUndoTrigger = 0) then
  23.     pass()
  24.   else
  25.     set the memberNum of sprite pMySprite to pMyMember
  26.     put EMPTY into field "status"
  27.   end if
  28. end
  29.  
  30. on mouseDown me
  31.   if (sprite(4).left <> 800) or (sprite(1).pUndoTrigger = 0) then
  32.     pass()
  33.   else
  34.     repeat while the mouseDown
  35.       set the memberNum of sprite pMySprite to pMyMember2
  36.       updateStage()
  37.     end repeat
  38.   end if
  39. end
  40.  
  41. on mouseUp me
  42.   if (sprite(4).left <> 800) or (sprite(1).pUndoTrigger = 0) then
  43.     pass()
  44.   else
  45.     pState = not pState
  46.     doUndoRedo(me)
  47.     setMember(me)
  48.     set the memberNum of sprite pMySprite to pMyMember3
  49.   end if
  50. end
  51.  
  52. on setMember me
  53.   if pState = 1 then
  54.     sprite(me.spriteNum).member = pOnMember
  55.     pMyMember = pMySprite.memberNum
  56.     pMyMember2 = pMyMember - 1
  57.     pMyMember3 = pMyMember + 1
  58.   else
  59.     sprite(me.spriteNum).member = pOffMember
  60.     pMyMember = pMySprite.memberNum
  61.     pMyMember2 = pMyMember - 1
  62.     pMyMember3 = pMyMember + 1
  63.   end if
  64. end
  65.  
  66. on doUndoRedo me
  67.   myCurrentPreview = duplicate(member("preview", gCast).image)
  68.   if pState = 1 then
  69.     myCurrentImage = duplicate(member("state1 - " & gSize, gCast).image)
  70.     member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
  71.   else
  72.     myCurrentImage = duplicate(member("state2 - " & gSize, gCast).image)
  73.     member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
  74.   end if
  75.   updateStage()
  76.   fnUpdatePreview()
  77.   myCurrentImage = VOID
  78.   myCurrentPreview = VOID
  79. end
  80.  
  81. on isChecked me
  82.   return pState
  83. end
  84.  
  85. on getPropertyDescriptionList me
  86.   list = [:]
  87.   addProp(list, #pOnMember, [#comment: "On Member", #format: #member, #default: "redo off"])
  88.   addProp(list, #pOffMember, [#comment: "Off Member", #format: #member, #default: "undo off"])
  89.   addProp(list, #pState, [#comment: "Initial State", #format: #boolean, #default: 0])
  90.   return list
  91. end
  92.